package com.jcfk.eam.domain.dto.mould;


import com.jcfk.eam.domain.dto.main.EamAssetInfoDTO;
import com.jcfk.system.domain.dto.BaseDTO;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.util.Date;
import java.util.List;

/**
 * 模具任务表
 *
 * @author awei
 * @email 522891237@gqq.com
 * @date 2025-07-17
 */
@Data
public class EamMouldTaskInfoDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    /**
     * 数据版本号
     */
    private Long version;

    /**
     * 计划编号
     */
    @Length(max = 32, message = "计划编号长度不能超过32")
    private String processingOrderNumber;

    /**
     * 产品图号
     */
    @Length(max = 32, message = "产品图号长度不能超过32")
    private String figureNumber;

    /**
     * 成品物料编号
     */
    @Length(max = 32, message = "成品物料编号长度不能超过32")
    private String materialCode;

    /**
     * 成品物料名
     */
    @Length(max = 200, message = "成品物料名长度不能超过200")
    private String materialName;

    /**
     * 计划人员
     */
    @Length(max = 200, message = "计划人员长度不能超过200")
    private String planUsers;

    /**
     * 炉批次号
     */
    @Length(max = 32, message = "炉批次号长度不能超过32")
    private String equipName;

    /**
     * 生产日期
     */
    private Date planDate;

    /**
     * 任务状态
     */
    private Integer taskStatus;

    /**
     * 计划数量
     */
    private Integer planQuantity;

    /**
     * 计划模数
     */
    private Integer mouldQuantity;

    /**
     * 出库数
     */
    private Integer outboundQuantity;

    /**
     * 合格数
     */
    @Length(max = 32, message = "合格数长度不能超过32")
    private String passQuantity;

    /**
     * 备注
     */
    @Length(max = 255, message = "备注长度不能超过255")
    private String remarks;

    /**
     * 创建人名
     */
    @Length(max = 50, message = "创建人名长度不能超过50")
    private String createdUserName;

    /**
     * 更新人名
     */
    @Length(max = 50, message = "更新人名长度不能超过50")
    private String lastUpdatedUserName;

    /**
     * 是否停用
     */
    private Integer enabled;

    /**
     * 是否删除
     */
    private Integer deleted;


    /**
     * 批量添加子表
     */
    private List<EamMouldTaskInfoDetailDTO> details;

    /**
     * 批量添加子表
     */
    private List<EamAssetInfoDTO> assetList;

    /**
     * 批量删除id
     */
    private List<String> ids;

    private String locationId;

    private String locationName;

    private Integer passStatus;

    private Integer processesClassification;

    private String planId;
    private String classes;
}
